跳到主要内容

FastAPI 框架

FastAPI 框架是什么?

FastAPI 是一个现代、快速(高性能)的 web 框架,用于构建 API,基于标准 Python 类型提示。它是一个基于 Starlette 和 Pydantic 的 web 框架,它的主要特点是速度快、易于使用、快速编写、易于维护、易于学习、强大和可扩展。

生命周期

FastAPI 有一些生命周期事件,可以在应用程序的不同阶段执行代码。这些事件是在 FastAPI 内部执行的,不需要手动调用。

  • startup:应用程序启动时执行。
  • shutdown:应用程序关闭时执行。
  • request:每个请求开始时执行。
  • response:每个请求完成时执行。
  • middleware:每个请求开始时执行,用于处理请求和响应。
  • websocket_connect:每个 WebSocket 连接开始时执行。
  • websocket_disconnect:每个 WebSocket 连接结束时执行。
  • websocket_receive:每个 WebSocket 消息接收时执行。

更多关于 FastAPI 生命周期的内容可以查看官方文档

生命周期事件可以用于很多场景,例如:

from fastapi import FastAPI

app = FastAPI()

@app.on_event("startup")
async def startup_event():
print("Application starting")

@app.on_event("shutdown")
async def shutdown_event():
print("Application shutting down")

新版的 on_event 已经被废弃,新的写法如下: